package com.quyeying.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.quyeying.entity.TblProductEntity;
import com.quyeying.utils.result.R;

/**
* <p>
 * 书本商品表，存放售卖信息数据 服务类
 * </p>
*
* @author jll
* @since 2022-07-19
*/
public interface TblProductService extends IService<TblProductEntity> {

    /**
     * 查询商品-分页
     *
     * @param page      页码
     * @param pageCount 每页条数
     * @param id   商户id
     * @return R
     */
    R findListByPage(Integer page, Integer pageCount, Integer productBuyZt, Long id);

    /**
     * 添加商品
     *
     * @param tblProductEntity
     * @return R
     */
    R add(TblProductEntity tblProductEntity);

    /**
     * 删除商品
     *
     * @param id 主键
     * @return R
     */
    R delete(Long id);

    /**
     * 修改商品
     *
     * @param tblProductEntity
     * @return R
     */
    R updateData(TblProductEntity tblProductEntity);

    /**
     * id查询数据
     *
     * @param id id
     * @param isSys
     * @return R
     */
    R findById(Long id, String ipAddress, Long userId, String isSys);

    /**
     * @param id 商品id
     * @param type 是否查下架 true false
     * @param isSys  判断是否后台访问，后台访问为 1   不做图片压缩路径
     * @return
     */
    TblProductEntity tblProductEntity(Long id, Boolean type, String isSys);

    /**
     * 小程序分页查询
     * @param current
     * @param size
     * @return
     */
    R findListByPageClient(Integer current, Integer size, Long merchantId);

    /**
     * 获得热门搜索的商品名称
     * @return
     */
    R findHotProduct();

    /**
     * 关键字列表(模糊搜索书名、作者、出版社)
     * @param search
     * @return
     */
    R findKeywordList(String search);

    TblProductEntity getProductInfo(Long pid);


    /**
     * 搜索
     * @param current
     * @param size
     * @param search
     * @return
     */
    R findListPageSearch(Integer current, Integer size, String search);

    /**
     * 为我推荐
     * @param current
     * @param size
     * @return
     */
    R findListPageRecommend(Integer current, Integer size);

    R specialOfferList();
}
